Exception Handling Bug Patterns in Aspect Oriented Programs
نویسندگان
چکیده
Aspects often impact the exceptional control flow of a program by signaling and handling exceptions signaled by other aspects or classes. The exceptions signaled by aspects may flow through the program execution in unexpected ways leading to failures such as uncaught exceptions and exceptions being caught by the wrong handlers. We identified a set of bug patterns via an empirical study of exception handling code in AO systems. These patterns are presented here in the form of a bug patterns catalogue containing bugs where aspects act as exception handlers, and bugs where aspects act as exception signalers.
منابع مشابه
Assessing the Impact of Aspects on Exception Flows: An Exploratory Study
Exception handling mechanisms are intended to support the development of robust software. However, the implementation of such mechanisms with aspectoriented (AO) programming might lead to error-prone scenarios. As aspects extend or replace existing functionality at specific join points in the code execution, aspects’ behavior may bring new exceptions, which can flow through the program executio...
متن کاملUnderstanding Exceptional Behavior and Exception Flow in Implicit Invocation Systems by Mehdi Bagherzadeh, Hridesh Rajan and Ali Darvish
Exceptions and their implicit control flow complicate modular understanding (reasoning) of both exceptional behavior and exception flow of a system. Such reasoning tasks about exceptions are more complicated in implicit invocation (II) systems, where a subject module can invoke other observer modules without knowing about them and especially behavior and flow of their exceptions. In this work, ...
متن کاملImplementing Coordinated Exception Handling for Distributed Object-Oriented Systems with AspectJ
Exception handling is a very popular technique for incorporating fault tolerance into software systems. However, its use for structuring concurrent, distributed systems is hindered by the fact that the exception handling models of many mainstream object-oriented programming languages are sequential. In this paper we present an aspect-based framework for incorporating concurrent exception handli...
متن کاملImplementing Coordinated Error Recovery for Distributed Object-Oriented Systems with AspectJ
Exception handling is a very popular technique for incorporating fault tolerance into software systems. However, its use for structuring concurrent, distributed systems is hindered by the fact that the exception handling models of many mainstream object-oriented programming languages are sequential. In this paper we present an aspect-based framework for incorporating concurrent exception handli...
متن کاملDynamic Slicing of Aspect-Oriented Programs
Program slicing is a decomposition technique which has many applications in various software engineering activities such as program debugging, testing, maintenance etc. Aspect-oriented programming (AOP) is a new programming paradigm that enables modular implementation of cross-cutting concerns such as exception handling, security, synchronization, logging etc. The unique features of AOP such as...
متن کامل